Skip to content

feat: phase 11 — logicshell-tui foundation with Ratatui TUI (#10)#10

Merged
macaris64 merged 1 commit intomainfrom
phase-11-tui-foundation
Apr 19, 2026
Merged

feat: phase 11 — logicshell-tui foundation with Ratatui TUI (#10)#10
macaris64 merged 1 commit intomainfrom
phase-11-tui-foundation

Conversation

@macaris64
Copy link
Copy Markdown
Owner

Introduces the logicshell-tui crate (M4 milestone start) with a fully unit-testable terminal UI shell built on Ratatui + crossterm.

  • App state machine: Running/Quitting lifecycle, input buffer, message history — no terminal required for tests
  • EventHandler: async crossterm event forwarder with Tick/Key/Resize
  • ui::draw: four-panel layout (title, messages, prompt, status bar) rendered via Ratatui TestBackend in all tests
  • terminal::{init, restore}: raw-mode alternate-screen setup/teardown
  • examples/phase11.rs: runnable interactive demo

Tests: 28 unit + 19 integration = 47 total; 94.18% line coverage (≥90% gate).
All CI checks pass: fmt, clippy -D warnings, cargo test --workspace.

Introduces the `logicshell-tui` crate (M4 milestone start) with a
fully unit-testable terminal UI shell built on Ratatui + crossterm.

- `App` state machine: Running/Quitting lifecycle, input buffer,
  message history — no terminal required for tests
- `EventHandler`: async crossterm event forwarder with Tick/Key/Resize
- `ui::draw`: four-panel layout (title, messages, prompt, status bar)
  rendered via Ratatui TestBackend in all tests
- `terminal::{init, restore}`: raw-mode alternate-screen setup/teardown
- `examples/phase11.rs`: runnable interactive demo

Tests: 28 unit + 19 integration = 47 total; 94.18% line coverage (≥90% gate).
All CI checks pass: fmt, clippy -D warnings, cargo test --workspace.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@macaris64 macaris64 merged commit 450aefc into main Apr 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant